Valencia beat Granada to boost their top-four hopes as Real Sociedad played out a thrilling 3-3 draw with Real Madrid, while all three relegation places remain undecided ahead of the final week of the season after Deportivo La Coruna lost to Malaga and Celta Vigo overcame Real Valladolid.